/**
 * FontName的值： 字符型，与操作系统字体名一致，缺省是“宋体”。
 *
 * FontSize的值：数值型，单位是pt，缺省值是9，可以含小数，如13.5。
 *
 * FontColor的值：整数或字符型，整数时是颜色的十进制RGB值；字符时是超文本颜色值，可以是“#”加三色16进制值组合，也可以是英文颜色名；
 *
 * Bold的值：数字型，1代表粗体，0代表非粗体，缺省值是0。
 *
 * Italic的值：数字型，1代表斜体，0代表非斜体，缺省值是0。
 *
 * Underline的值：数字型，1代表有下划线，0代表无下划线，缺省值是0。
 *
 * Alignment的值：数字型，1--左靠齐 2--居中 3--右靠齐，缺省值是1。
 *
 * Angle的值：数字型，逆时针旋转角度数，单位是度，0度表示不旋转，旋转时以对象的左上角为原点。
 *
 * ItemType的值：数字型，0--普通项 1--页眉页脚 2--页号项 3--页数项 4--多页项
 * 缺省（不调用本函数时）值0。普通项只打印一次；页眉页脚项则每页都在固定位置重复打印；页号项和页数项是特殊的页眉页脚项，其内容包含当前页号和全部页数；多页项每页都打印，直到把内容打印完毕，打印时在每页上的位置和区域大小固定一样（多页项只对纯文本有效）
 *               在页号或页数对象的文本中，有两个特殊控制字符：
 * “#”特指“页号”，“&”特指“页数”。
 * HOrient的值：数字型，0--左边距锁定 1--右边距锁定 2--水平方向居中 3--左边距和右边距同时锁定（中间拉伸），缺省值是0。
 *
 * VOrient的值：数字型，0--上边距锁定 1--下边距锁定 2--垂直方向居中 3--上边距和下边距同时锁定（中间拉伸），缺省值是0。
 *
 * PenWidth的值：整数型，单位是(打印)像素，缺省值是1，非实线的线条宽也是0。
 *
 * PenStyle的值：数字型，0--实线 1--破折线 2--点线 3--点划线 4--双点划线
 * 缺省值是0。
 * Stretch的值：数字型，0--截取图片 1--扩展（可变形）缩放 2--按原图长和宽比例（不变形）缩放。缺省值是0。
 *
 * ShowBarText的值 ：字符或逻辑型，真表示显示（一维条码的）码值，假表示隐藏码值，默认值是真。true、“true”、1、“1”代表真，false、“false”、0或“0”代表假
 *
 * “LinkedItem”的值： 整数字符型，字符型代表被关联项的项目名，整数代表被关联项的序号，如果是负数，代表当前对象的前几个对象，例如-1代表前一个对象，-2代表前面隔一个对象，使用-1时可以用同一个语句连续顺序关联一串对象。
 * 内容项与别人关联后，会紧跟被关联者之后打印，位置和区域大小随被关联项而定，此时其Top和left不再是上边距和左边距，而是与关联项的间隔空隙及左边距偏移。
 *             如果关联者是页眉页脚对象，那么不会每页输出，仅与被关联对象同页输出。此时输出的位置与被关联对象的位置相对固定，也就是当上边距小于被关联对象的上边距时，那么其起点位置会与被关联者的上边线保持设计时的距离，否则与被关联对象的下边线保持设计时的距离。
 */
export interface LodopStyle {
  zIndex: number;

  /**
   * 设定纯文本打印项的字体名称
   */
  FontName?: string;

  /**
   * 设定纯文本打印项的字体大小
   */
  FontSize?: string;

  /**
   * 设定纯文本打印项的字体颜色
   */
  FontColor?: string;
  /**
   * 设定纯文本打印项是否粗体
   */
  Bold?: string;

  /**
   * 设定纯文本打印项是否斜体
   */
  Italic?: string;

  /**
   * 设定纯文本打印项是否下划线
   */
  Underline?: string;

  /**
   * 设定纯文本打印项的内容左右靠齐方式
   * 这里使用left center right，在LODOP打印时会转化成1,2,3
   */
  Alignment?: string;

  /**
   * 设定纯文本打印项的旋转角度
   */
  Angle?: string;

  /**
   * 设定打印项的基本属性
   */
  ItemType?: string;

  /**
   * 设定打印项在纸张范围内的水平方向的位置锁定方式
   */
  HOrient?: string;

  /**
   * 设定打印项在纸张范围内的垂直方向的位置锁定方式
   */
  VOrient?: string;

  /**
   * 线条宽度
   */
  PenWidth?: string;

  /**
   * 线条风格
   */
  PenStyle?: string;

  /**
   * 图片截取缩放模式
   */
  Stretch?: string;

  /**
   * (一维)条码的码值是否显示
   */
  ShowBarText?: string;

  /**
   * 设置关联内容项的项目编号
   */
  LinkedItem?: number;
}

export const defaultStyle: LodopStyle = {
  zIndex: 0,
};
